Network-provided content, such as Internet web pages or media content such as video, pictures, music, and the like, are typically served to end users via networked computer systems. End user requests for the network content are processed and the content is responsively provided over various network links. These networked computer systems can include origin or hosting servers which originally host network content, such as web servers for hosting a news website. However, these computer systems of individual content origins or hosts can become overloaded and slow due to frequent requests of content by end users.
Content delivery networks have been developed which add a layer of caching between original servers of the content providers and the end users. The content delivery networks typically have one or more content nodes distributed across a large geographic region to provide faster and lower latency access to the content for the end users. When end users request content, such as a web page, which is handled through a content node, the content node is configured to respond to the end user requests instead of the origin servers. In this manner, a content node can act as a proxy or cache for the origin servers. Content of the origin servers can be cached into the content nodes, and can be requested via the content nodes from origin servers when the content has not yet been cached.
Additionally, network activities, such as browsing habits, of end user devices can be monitored using various tracking elements. Network content, such as web pages, can include tracking elements, such web bugs, beacons, or tracking pixels which are used to determine when users have viewed various network content, such as in a web browser application. Various statistical data for the content browsing activities of the end users can be monitored for web analytics, page tagging, advertisement selection, among other activities. However, user tracking elements, such as cookies, are also difficult to manage because they are typically personal and user specific. These tracking elements also involve placing code, special content, or trackers on the local device through which the end user device browses content.
Overview
Systems, methods, apparatuses, and software for caching tracking elements of network content are provided herein. In one example, a method of operating a cache node of a content delivery network that caches content for delivery to end user devices is provided. The method includes receiving content requests from an end user device for content cached by the cache node and responsively providing the content for delivery to the end user device, processing the content requests to determine a edge state that corresponds to the end user device, transferring information related to the edge state for delivery to at least one other cache node of the content delivery network for handling of content requests received at the at least one other cache node.
In another example, a content delivery network is provided that includes a plurality of cache nodes that cache content for delivery to end user devices. The content delivery network also includes a first cache node configured to receive first content requests from an end user device for content cached by the cache node and responsively provide the content for delivery to the end user device, process the first content requests to determine a edge state that corresponds to the end user device, and transfer information related to the edge state for delivery to at least a second cache node of the content delivery network. The second cache node is configured to receive second content requests and determine that the second content requests are associated with the end user device based at least on the information related to the edge state.
In another example, a method of operating a cache node of a content delivery network that caches content for delivery to end user devices is provided. The method includes, in the cache node, receiving a content request issued by an end user device corresponding to content cached by the cache node, establishing edge state data for the end user device based at least on the content request and properties of the end user device, and persisting the edge state data for handling further content requests from the end user device.